In the near future, movies and other program material will be available at a customer's home television set at the request or "demand" of the customer, without the customer having to leave home to get tapes or disks, and then return them later. The customer will merely select an item from a menu or enter a code into a box at home, and the program will be delivered over a line connected to a set top box (commonly called a cable converter) on the customer's television set.
Such universal (or nearly universal) video-on-demand requires that massive amounts of data be multiplexed onto cables shared by many customers. In such a system, data will be digitally stored and transmitted as needed over high capacity (wide bandwidth) transmission facilities to local cable operators. The local cable operators will then re-transmit the data to a set top box for the specific customer. Each set top box must be able to receive data and then process it so that a continuously high-quality audio and video program is produced.
In order to deliver all of the information necessary to produce both audio and video at a television, the industry has proposed a standard for digitally storing, transmitting, and then reproducing such video material, namely International Standard ISO/IEC JTCI/SCZ9/WG11, known as Moving Picture Experts Group (MPEG) standard, number 2 (commonly called "MPEG-2"), dated Jun. 10, 1994. The MPEG-2 standard describes a system for digitally describing audio and video program material.
A primary concern of MPEG-2 is that the decoder be able to function with a minimum amount of buffer memory. Since prevention of data underflow and overflow in the buffer can only be accomplished by exactly matching the rate of consumption of data from the buffer to the rate of data delivery to the buffer, the decoder clock frequency must exactly match the transmission facility clock frequency. A further concern of MPEG-2 is that the transmission facility be able to use an inexpensive clock, which is of limited accuracy. Hence, MPEG-2 defines a program clock reference (PCR) time stamp in its data stream in order to regulate the decoder clock and, thus, the data consumption rate from the buffer. This regulation is accomplished by the decoder comparing the numeric value of the PCR to the numeric value of its own clock at the moment of the PCR's arrival to produce a decoder frequency adjustment signal. MPEG-2 also defines a presentation time stamp (PTS) to specify the time at which each picture is to be displayed, and a decode time stamp (DTS) to specify the time at which a picture is to be decoded when the decode time differs from the presentation time.
The implication of the above solution to coordination of data transmission and use is that MPEG-2 assumes a transport network with a uniform transit time. However, it is known that packet networks, which are anticipated to transmit MPEG-2 data, commonly utilize variable transit times to resolve packet collisions. This transit time variation manifests itself as a numeric error, which is herein called "jitter," in the PCR value at the moment of arrival of a magnitude that makes decoder clock regulation using ordinary techniques difficult.
Therefore, a problem in the art is that there is no way to correct the jitter in delivery of MPEG-2 data introduced by a packet network.